package top.mask.mq.two;

import com.rabbitmq.client.Channel;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import top.mask.mq.utils.RabbitMQUtil;

import java.util.Scanner;

/**
 * 生产者 - 发送消息
 */
@Slf4j
public class Task01 {
    //队列名称
    public static final String QUEUE_NAME = "hello";

    //发送大量消息
    @SneakyThrows
    public static void main(String[] args) {
        Channel channel = RabbitMQUtil.getChannel();
        //队列声明
        channel.queueDeclare(QUEUE_NAME,false,false,false,null);
        //从控制台中接受消息
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            String message = scanner.next();
            /**
             * 发送一个消费
             * 1.发送到哪个交换机
             * 2.路由的key值是哪个，本次是队列的名称
             * 3.其他参数信息
             * 4.发送消息的消息体
             */
            channel.basicPublish("",QUEUE_NAME,null,message.getBytes());
            log.info("发送消息[{}]完成",message);
        }

    }
}
